home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 111_01 / bcdef.h < prev    next >
Text File  |  1985-08-19  |  2KB  |  109 lines

  1. #include <bdscio.h>
  2.  
  3. #define ASCII '\''
  4. #define SNOT '?'
  5. #define LPAREN '('
  6. #define NEWLINE '\n'
  7. #define FORMFEED '\f'
  8. #define EOL '\0'
  9. #define RPAREN ')'
  10. #define COMMA ','
  11. #define SEMICOLON ';'
  12. #define NOT '~'
  13. #define MINUS '-'
  14. #define PLUS '+'
  15. #define SPACE ' '
  16. #define COLON ':'
  17. #define TAB '\t'
  18. #define MULT '*'
  19. #define DIV '/'
  20. #define MOD '%'
  21. #define XOR '^'
  22. #define OR '|'
  23. #define AND '&'
  24. #define SHL '<'
  25. #define SHR '>'
  26. #define TXAND "and"
  27. #define TXXOR "xor"
  28. #define TXSHL "shl"
  29. #define TXSHR "shr"
  30. #define TXMOD "mod"
  31. #define TXNOT "not"
  32. #define TXOR "or"
  33. #define BINARY 'B'
  34. #define OCTAL 'O'
  35. #define OQTAL 'Q'
  36. #define DECIMAL 'D'
  37. #define HEX 'H'
  38. #define DEFAULTBASE 10
  39. #define NIL 0
  40. #define MACDEF 10
  41. #define REPTDEF 12
  42. #define IRPDEF 14
  43. #define IRPCDEF 16
  44. #define EXIDEF 18
  45. #define EMACDEF 20
  46. #define IFDEF 40
  47. #define ELSDEF 42
  48. #define FIDEF 44
  49. #define EQUDEF 60
  50. #define SETDEF 62
  51. #define ORGDEF 64
  52. #define ENDDEF 66
  53. #define DBDEF 80
  54. #define DWDEF 82
  55. #define DSDEF 84
  56. #define TITDEF 100
  57. #define PAGDEF 102
  58. #define EJEDEF 104
  59. #define LOFFDEF 106
  60. #define LONDEF 108
  61. #define NOMDEF 110
  62. #define MDEF 112
  63. #define PSIZDEF 114
  64. #define PWIDEF 116
  65. #define INCDEF 140
  66. #define NOOP 0
  67.  
  68.  
  69. struct symentry {
  70.     char *symbol ;
  71.     char stype ;
  72.     union {
  73.        char *mpar ;
  74.        unsigned svalue ;
  75.        } u ;
  76.     struct atom *mbody ;
  77.     struct symentry *left ;
  78.     struct symentry *right ;
  79.     };
  80.  
  81. struct atom {
  82.     struct atom *next ;
  83.     char *body ;
  84.     };
  85.  
  86. struct symentry *xroot, dum_symbol ;
  87.  
  88. unsigned xsvalue, xline ;
  89.  
  90. char xstype, *xw, w[35], clin[255], csymbol[20], cmnem[16], cop[200] ;
  91. char bsymbol, bmnem, bop, xeof, ccomment[128], bcomment ;
  92. char eval, lmacro, cond, tlcond, lcond, l_no_of_args, no_of_args ;
  93. char class ;
  94. char *argtab[100] ;
  95. struct symentry *curmacro ;
  96. struct atom *xexplin, *explin ;
  97. struct atom *cmlin, *curmlin ;
  98. struct symentry *mx_root ;
  99.  
  100. int xsymlin, xpass, xresult, bulle ;
  101.  
  102. struct symentry  *m_root, *lm_root ;
  103.  
  104. struct atom  *d_root, *e_root, dum_lista ;
  105.  
  106. int e_level ;
  107.  
  108. char expanding, lm_def, m_def, mcall, macrodef ;
  109.